home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / Third Party SDKs / ATI RAVE SDK / Samples / QD3D Tests / BoxTex (ATI) / inc / ATIRave.h next >
Encoding:
C/C++ Source or Header  |  1998-04-06  |  5.0 KB  |  136 lines  |  [TEXT/CWIE]

  1. #ifndef ATI_RAVE_H
  2. #define ATI_RAVE_H
  3. /****************************************************************/
  4. /* headers                                                        */
  5. /****************************************************************/
  6. #include "RAVE.h"
  7. #include "gl.h"
  8.  
  9. /****************************************************************/
  10. /* defines                                                        */
  11. /****************************************************************/
  12. #define kQAGL_Nearest        0
  13. #define    kQAGL_Linear        1
  14.  
  15. #define QATIClearDrawBuffer(atiExtens,drawContext,rect) \
  16.         (*((atiExtens)->clearDrawBuffer))( drawContext, rect )
  17.  
  18. #define QATIClearZBuffer(atiExtens,drawContext,rect) \
  19.         (*((atiExtens)->clearZBuffer))( drawContext, rect )
  20.  
  21. #define QATITextureUpdate(atiExtens,flags,pixelType,images,texture) \
  22.         (*((atiExtens)->textureUpdate))( flags, pixelType, images, texture )
  23.         
  24. #define QATITextureBindCodeBook(atiExtens,texture,pCodebook) \
  25.         (*((atiExtens)->bindCodeBook))(texture, pCodebook)                
  26.             
  27. /****************************************************************/
  28. /* typedefs                                                        */
  29. /****************************************************************/
  30. typedef enum TQATIGestaltSelector
  31. {
  32.     kQATIGestalt_CurrentContext     = 1000,
  33.     kQATIGestalt_NumATISelectors    = 1
  34.     
  35. } TQATIGestaltSelector;
  36.  
  37. typedef enum TQATIImagePixelType {
  38.     kQATIPixel_RGB4444                = 1000,
  39.     kQATIPixel_ARGB4444                = 1001,
  40.     kQATIPixel_NumPixelTypes        = 2
  41. } TQATIImagePixelType;
  42.  
  43. typedef enum {
  44.     kQATIFogDisable                    = 0,
  45.     kQATIFogExp                        = 1,
  46.     kQATIFogExp2                    = 2,
  47.     kQATIFogAlpha                    = 3,
  48.     kQATIFogLinear                    = 4
  49. } TQATIFogMode;
  50.  
  51. typedef enum {
  52.     kQATIComposeFunctionBlend        = 0,
  53.     kQATIComposeFunctionModulate    = 1,
  54.     kQATIComposeFunctionAddSpec        = 2
  55. } TQATIComposeFunction;
  56.  
  57. typedef struct {
  58.     unsigned long       flags;              /* Mask of kQATexture_xxx flags */
  59.     unsigned long        pixelType;          /* Depth, color space, etc. */
  60.     TQAImage              image;               /* Image(s) for texture */
  61. } TQATITexImage;
  62.  
  63. typedef enum
  64. {
  65.     kATITriCache        =    kQATag_EngineSpecific_Minimum,
  66.     kATIClearPreCallback=    kQATag_EngineSpecific_Minimum + 1,
  67.      kATIFogMode            =    kQATag_EngineSpecific_Minimum + 2,
  68.     kATIFogColor_r        =    kQATag_EngineSpecific_Minimum + 3,
  69.      kATIFogColor_g        =    kQATag_EngineSpecific_Minimum + 4,
  70.      kATIFogColor_b        =    kQATag_EngineSpecific_Minimum + 5,
  71.      kATIFogColor_a        =    kQATag_EngineSpecific_Minimum + 6,
  72.      kATIFogDensity      =   kQATag_EngineSpecific_Minimum + 7,
  73.      kATIFogStart        =   kQATag_EngineSpecific_Minimum + 8,
  74.      kATIFogEnd          =   kQATag_EngineSpecific_Minimum + 9,
  75.      kATILodBias            =    kQATag_EngineSpecific_Minimum + 10,
  76.      kATIChipID            =    kQATag_EngineSpecific_Minimum + 11,
  77.      kATICompositing     =   kQATag_EngineSpecific_Minimum + 12,
  78.     kATICompositingFunc =   kQATag_EngineSpecific_Minimum + 13,
  79.      kATICompositingFactor=  kQATag_EngineSpecific_Minimum + 14,
  80.      kATISecondTexMin    =   kQATag_EngineSpecific_Minimum + 15,
  81.      kATISecondTexMag    =   kQATag_EngineSpecific_Minimum + 16,
  82.     kATIVQTexCompresion =   kQATag_EngineSpecific_Minimum + 17,
  83.      kATISecond_Texture  =   kQATag_EngineSpecific_Minimum + 18,
  84.      kATICompositingAlpha=    kQATag_EngineSpecific_Minimum + 19,
  85.      kATINoDefaultClear  =    kQATag_EngineSpecific_Minimum + 20,
  86.     kATIRaveExtFuncs    =    kQATag_EngineSpecific_Minimum + 21,
  87.     kATIEnableZWrite    =    kQATag_EngineSpecific_Minimum + 22,
  88.     kATIRop2            =    kQATag_EngineSpecific_Minimum + 23,
  89.     kATIAlphaTestEnable =    kQATag_EngineSpecific_Minimum + 24,
  90.     kATIAlphaTestRef    =    kQATag_EngineSpecific_Minimum + 25,
  91.     kATIAlphaTestFunc    =    kQATag_EngineSpecific_Minimum + 26,
  92.     kATITexCompress        =    kQATag_EngineSpecific_Minimum + 27,
  93.     kATI_TextureContext =    kQATag_EngineSpecific_Minimum + 28,
  94.     kATISecond_TextureContext = kQATag_EngineSpecific_Minimum + 29,
  95.     kATISecondTextureWrapU       = kQATag_EngineSpecific_Minimum + 30,
  96.     kATISecondTextureWrapV       = kQATag_EngineSpecific_Minimum + 31,
  97.     kATISafeCallbacks    =     kQATag_EngineSpecific_Minimum + 32,
  98.     kATITextureAddr        =    kQATag_EngineSpecific_Minimum + 33,
  99.     kATIAlphaEnable        =    kQATag_EngineSpecific_Minimum + 34,
  100.     kATIRedEnable        =    kQATag_EngineSpecific_Minimum + 35,
  101.     kATIGreenEnable        =    kQATag_EngineSpecific_Minimum + 36,
  102.     kATIBlueEnable        =    kQATag_EngineSpecific_Minimum + 37,
  103.     kATINotifyZBuffer    =    kQATag_EngineSpecific_Minimum + 38,
  104.     kATITags            =    39
  105. } E_ATIVAR;
  106.  
  107. /*
  108.  * ATI RAVE extension function pointers
  109.  */
  110. typedef TQAError (*TQATIClearDrawBuffer)( 
  111.     const TQADrawContext    *drawContext, 
  112.     const TQARect             *dirtyRect );
  113.     
  114. typedef TQAError (*TQATIClearZBuffer)(
  115.     const TQADrawContext    *drawContext,
  116.     const TQARect             *dirtyRect );
  117.  
  118. typedef TQAError (*TQATITextureUpdate)(
  119.     unsigned long           flags,                 /* Mask of kQATexture_xxx flags */  
  120.     TQAImagePixelType        pixelType,          /* Depth, color space, etc. */
  121.     const TQAImage             *images,
  122.     TQATexture                 *texture );          /* Previously allocated by QATextureNew() */            /* new Image(s) for texture contents */
  123.  
  124. typedef TQAError (*TQATITextureBindCodeBook)(
  125.     TQATexture                 *texture,
  126.     void                    *pCodebook );
  127.  
  128. typedef struct RaveExtFuncs{
  129.     TQATIClearDrawBuffer        clearDrawBuffer;
  130.     TQATIClearZBuffer            clearZBuffer;
  131.     TQATITextureUpdate            textureUpdate;
  132.     TQATITextureBindCodeBook    bindCodeBook; 
  133. }RaveExtFuncs;
  134.  
  135. #endif
  136.